import request from './request'

// 获取提示词模板列表
export function getPromptTemplateList(params) {
  return request({
    url: '/api/prompt-templates',
    method: 'get',
    params
  })
}

// 获取提示词模板详情
export function getPromptTemplateDetail(id) {
  return request({
    url: `/api/prompt-templates/${id}`,
    method: 'get'
  })
}

// 创建提示词模板
export function createPromptTemplate(data) {
  return request({
    url: '/api/prompt-templates',
    method: 'post',
    data
  })
}

// 更新提示词模板
export function updatePromptTemplate(id, data) {
  return request({
    url: `/api/prompt-templates/${id}`,
    method: 'put',
    data
  })
}

// 删除提示词模板
export function deletePromptTemplate(id) {
  return request({
    url: `/api/prompt-templates/${id}`,
    method: 'delete'
  })
}

// 批量删除提示词模板
export function batchDeletePromptTemplates(ids) {
  return request({
    url: '/api/prompt-templates/batch-delete',
    method: 'post',
    data: { ids }
  })
}

// 获取提示词模板分类列表
export function getPromptTemplateCategories() {
  return request({
    url: '/api/prompt-templates/categories',
    method: 'get'
  })
}

// 获取热门提示词模板
export function getHotPromptTemplates(params) {
  return request({
    url: '/api/prompt-templates/hot',
    method: 'get',
    params
  })
}

// 获取提示词模板使用统计
export function getPromptTemplateUsageStatistics(params) {
  return request({
    url: '/api/prompt-templates/usage-statistics',
    method: 'get',
    params
  })
}

// 获取用户提示词模板列表
export function getUserPromptTemplates(userId, params) {
  return request({
    url: `/api/prompt-templates/user/${userId}`,
    method: 'get',
    params
  })
}

// 更新提示词模板状态
export function updatePromptTemplateStatus(id, status) {
  return request({
    url: `/api/prompt-templates/${id}/status`,
    method: 'put',
    data: { status }
  })
}

// 复制提示词模板
export function copyPromptTemplate(id) {
  return request({
    url: `/api/prompt-templates/${id}/copy`,
    method: 'post'
  })
}

// 获取提示词模板标签列表
export function getPromptTemplateTags() {
  return request({
    url: '/api/prompt-templates/tags',
    method: 'get'
  })
}

// 测试提示词模板
export function testPromptTemplate(id, data) {
  return request({
    url: `/api/prompt-templates/${id}/test`,
    method: 'post',
    data
  })
}